package xml


//使用 XMLParser, groovy.util
def parse = new XmlParser().parse("book.xml")
//默认是获得根元素下的子标签集合
parse.each {  //可直接解析
    println it.@name  //属性
    println it.price.text()
    println it.hehe.text()  //标签没有的属性或者子标签为null
}

//使用 XmlSlurper,使用惰性求值,内存开销比较低
def rootParse = new XmlSlurper().parse("book.xml")
//获取到的是根元素
rootParse.book.each {
    println it.@id  //属性
    println it.author.text()
}
rootParse.haha.each {
    println it.hehe.text()
}
//解析字符串格式xml
def xmlStr = """ 
<bookstore> 
    <book name="java并发编程的艺术">
        <author>大牛</author>
        <year>2017</year>
        <price>99</price>
    </book>
</bookstore>
"""
def xmlBook = new XmlParser().parseText(xmlStr)
xmlBook.book.each{
    println it.attribute("name")  //java并发编程的艺术
    println it.author.text()  //大牛
}

